1. Field of the Invention
The present invention generally relates to data communication and, more particularly, to sampling data in communication receivers.
2. Related Art
In data communication, data transmitted from remote transmitting devices are often received and sampled by receivers. The remote transmitting devices may transmit data using clock sources that are not transmitted to the receivers. For the receivers to sample received data, the receivers may provide their own clocks that have nominally the same frequency as the frequency of the transmitting clocks on the remote transmitting devices.
In practice, clocks may be generated from crystals and oscillator circuits. Manufacturing tolerances of the crystals and oscillator circuits may cause small deviations in the frequency characteristics of the generated clocks from their nominal values. In addition, operating conditions such as fluctuations in voltage and temperature may induce further variance in the clock characteristics. As such, clock characteristics of receiver clocks and transmitting clocks may not be exactly identical. Consequently, received data and receiver clocks are not synchronous.
Because receiver clocks are not synchronous to the received data, their timing relationship may change over time. Nevertheless, it may be advantageous to be able to generate and adjust sampling points of the receiver clocks used to sample the received data such that the sampling points have a known relationship to the received data. For example, in high speed data receivers, maximum performance may be achieved when received data are sampled close to the midpoint between data transitions. Because the accuracy of sampling the received data is limited by the accuracy of the sampling points of the received clocks, the sampling points must be carefully controlled. Therefore, it is desirable to measure sample time errors and to adjust the receiver clocks to minimize the sample time errors. Once this sample time correction is performed, data recovery may be facilitated by selecting one or more clocks with sampling points close to the midpoint between data transitions to sample the received data.
While it may be possible to measure directly the variance in data sampling time from the ideal time to obtain sample time errors, direct measurements of sample time errors are not economical for high speed data. Accordingly, there is a need for an improved approach that permits indirect measurements of sample time errors when sampling high speed data. The sample time errors may then be used to adjust sampling edges of receiver clocks to better track the data.